#include <iostream>
#include <cstring>
#include <cerrno>
#include <cassert>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
using namespace std;

int main()
{
    //1.不需创建管道文件，只需要打开对应的文件即可
    int rfd = open("fifo", O_RDONLY);
    if (rfd == -1)//失败返回-1，打印错误码并且退出1
    {
        cout << errno << " : " << strerror(errno) << endl;
        return 1;
    }
    //2.可以进行常规通信了
    while (true)
    {
        char buffer[1024];
        int n = read(rfd, buffer, sizeof(buffer) - 1);
        assert(n >= 0);
        cout << "我是B进程,读取到的数据是:" << buffer << endl;
        sleep(1);
    }
    close(rfd);

    return 0;
}
